package com.swiftride.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.swiftride.pojo.domain.Login;
import com.swiftride.pojo.dto.LoginDto;
import com.swiftride.pojo.param.RegisterParam;
import com.swiftride.pojo.vo.LoginVo;

/**
 * <p>
 * 登录表 服务类
 * </p>
 *
 * @author wy
 * @since 2024-07-31
 */
public interface ILoginService extends IService<Login> {

    /**
     * 注册登录表
     *
     * @param registerParam 注册数据
     */
    Long register(RegisterParam registerParam);

    /**
     * 微信登录
     *
     * @param openidCode 获取openid的code
     * @param loginType  登录平台
     */
    LoginVo wxLogin(String openidCode, Integer loginType);

    /**
     * 登录
     *
     * @param loginDto 登录的信息
     * @return 登录视图
     */
    LoginVo login(LoginDto loginDto);

    /**
     * 更新密码
     *
     * @param loginDto 密码
     */
    void updatePassword(LoginDto loginDto);

    /**
     * 退出登录
     */
    void loginOut();

    /**
     * 创建管理员账号
     */
    void addAdmin();
}
